package com.single;

/**
 * @author: wh(1835734390 @ qq.com)
 * @date: 2023/8/15 13:51
 * @description:
 * @version:
 */

/**
 * 懒汉式中，实例在第一次调用getInstance()方法时才被创建。使用了双重检查锁定（double-checked locking）来保证线程安全和性能。
 * 使用volatile关键字确保线程可见性。
 * 懒汉式也就是指不会主动去加载实例，而是只有需要用到时才回去加载。
 */
public class LanHanSingleton {
    private static volatile LanHanSingleton instance;

    private LanHanSingleton() { }

    public static LanHanSingleton getInstance() {
        if (instance == null) {
            synchronized (LanHanSingleton.class) {
                if (instance == null) {
                    instance = new LanHanSingleton();
                }
            }
        }
        return instance;
    }
}



